1. Field of the Invention
The present invention generally relates to a server-based computing (SBC) collaboration technique, and more particularly to a centralized SBC collaboration system using a proxy server that allows multiple remote users to share an application operated on an SBC server and to collaborate with each other on the application.
2. Description of Related Art
In recent years, a so-called SBC (server-based computing) system that allows a user to solely use an arbitrary application operated on the remote SBC server connected to the network through the SBC browser of the SBC client terminal has been developed.
In the SBC system, a high-load application is executed in the server, instead of in the client terminal, and the execution screen is transmitted to the client terminal through the network. The user can use and execute the application on the server as if the application is installed in his/her own terminal. Basically, the relation between the user and the server is one-to-one correspondence, and each user implements the application on the server independently. Since the client terminal simply receives the execution screen in response to the input manipulation, a low-performance terminal, such as a PDA, can be used to execute an intricate high-grade application.
FIG. 1 illustrates a network structure of the conventional SBC system. The conventional SBC system α includes an SBC server 3 furnished with SBC middleware 2 capable of introducing arbitrary applications, and an SBC client 106 accessible to the SBC server 3 through the network 4. The SBC client 106 has an SBC browser 105, through which the user (not shown) of the SBC client 106 can remotely execute the application 1 working on the SBC middleware 2.
When executing the application 1 on the SBC server 3, the user of the SBC client 106 manipulates a mouse, a keyboard, a tablet, joysticks, and other input devices to input information. The SBC browser 105 transmits the user's input manipulation to the SBC middleware 2 operating on the SBC server 3, via the network 4 (ST1).
The SBC middleware 2 supplies the input manipulation information received from the SBC browser 105 to the application 1 that is working on the SBC middleware 2 (ST2). The application 1 executes the process based on the input manipulation information designated by the user, and provides the update screen information, which represents the execution result, to the SBC middleware 2 (ST3). Upon receiving the update screen information, the SBC middleware 2 transmits the update screen information to the SBC client 106 via the network 4, which is then displayed on the SBC browser 105 of the SBC client 106 (ST 4).
By repeating these processes, the user can use and execute the application 1 on the remote SBC server 3 as if he/she is using an application installed in the SBC client 106.
Basically, any application can operate on the SBC server 3 as long as it is operative on the operating system (OS) corresponding to the SBC middleware 2. Such applications include, but are not limited to, editor software, DTP (desktop publishing) software, CAD (computer aided design) software, and game software.
The SBC middleware 2 is, for example, MetaFrame (registered trademark of Citrix Systems, Inc.), VNC (virtual Network Computing; AT&T), Tarantella (registered trademark of SCO), GO-Global (registered trademark of GraphOn Corporation), etc.
The SBC middleware 2 used in the conventional SBC system α is designed on the condition that individual users utilize the application 1 on the SBC server independent from each other. Accordingly, it is difficult for the current SBC middleware 2 to allow multiple SBC clients 106 to mutually execute the application 1 to collaborate in real time with the same execution screen on their SBC browsers 105.
On the other hand, a technique of allowing multiple users to share an application available on a Web site for collaboration is disclosed in JPA 2000-112862 and JPA H11-25042. Furthermore, JPA H3-273443 discloses a technique of distributing the execution screen to multiple clients in response to the key manipulation by a client to allow collaboration, under the limitation of a single application actually operating on the server.
However, these techniques cannot be immediately applied to server-based computing (SBC) collaboration, which is on the basis of parallel execution of intricate and advanced remote applications and centralized data management.